perm filename CMS.WRK[T,LSP] blob sn#655244 filedate 1982-03-16 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00011 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	dial 642-9600
C00005 00003	PL/I OPTIMIZING COMPILER         VERSION 1 RELEASE 3.0 PTF 69        TIME: 22.56
C00043 00004	MARCDO
C00046 00005	.λ
C00048 00006
C00058 00007	DMSLIO740I EXECUTION BEGINS...
C00060 00008	DMSLIO740I EXECUTION BEGINS...
C00066 00009	DMSLIO740I EXECUTION BEGINS...
C00075 00010	   MARCDO: PROCEDURE OPTIONS (MAIN)
C00085 00011	/*BE SURE TO PASS FT TO SUBROUTINE*/
C00103 ENDMK
C⊗;
dial 642-9600

LOGON LI236$24
2HT51ZHM
EXEC PROFSTD
IPL CMS
EDIT 2ASS5 PLIOPT
FILE
DIRM PW
VIOLYN
COPY CMS2C PLIOPT A 2CMS2C PLIOPT A
EDIT 2CMS2C PLIOPT
INPUT
PLIOPT MARC1
PLIOPT CMS2C
global txtlib plilib
LOGO
QUERY TERMINAL
TERMINAL LINEND ]
FILEDEF MARC DISK MARCREC FILE A1 (RECFM V LRECL 1013)
FILEDEF RECS DISK RECS DATA A1 (RECFM V LRECL 1013)

FILEDEF SYSIN DISK DECKLET DATA A1 (LRECL 80 BLKSIZE 80 RECFM FB
FILEDEF SYSIN DISK DECKLET DATA A1 (RECFM F LRECL 20)

********** ASS5 & 2ASS5 FILEDEFS
FILEDEF ACC1 DISK ACC1 DATA A1 (RECFM F LRECL 80)
FILEDEF ACC2 DISK ACC2 DATA A1 (RECFM F LRECL 80)

FILEDEF ACC2 DISK ACC1 DATA A1 (RECFM F LRECL 80)
FILEDEF ACC1 DISK ACC2 DATA A1 (RECFM F LRECL 80)
********** ASS5 FILEDEFS

FILEDEF ACC1 DISK ACC1 DATA A1 (LRECL 80 BLKSIZE 80 RECFM FB)
FILEDEF ACC2 DISK ACC2 DATA A1 (LRECL 80 BLKSIZE 80 RECFM FB

FILEDEF CAT DISK CAT17 DATA A (DSORG DA RECFM F BLKSIZE 901 OPTCD R XTENT 130)
MARCDO
LOAD CMS2C (START
LOAD MARC1 (START
File
TYPE REGNL PLIOPT
TYPE CAT17 FILE
TYPE RECS FILE
TYPE CMS2B LISTING


SPOOL PRINTER CONT
PRINT CMS2B LISTING
PRINT CMS2C LISTING
PRINT MARCDO LISTING
PRINT MARC1 LISTING
PRINT REGNL LISTING
PRINT VSAM LISTING
PRINT 2ASS5 LISTING
SPOOL PRINTER NOCONT CLOSE
PL/I OPTIMIZING COMPILER         VERSION 1 RELEASE 3.0 PTF 69        TIME: 22.56
.00    DATE: 16 MAR 82          PAGE   1
OPTIONS SPECIFIED
OP OPT(2) F(I) S AG C GS MI('|') IS LC(60) NEST STMT NNUM LMSG STG;
OPTIONS USED

AGGREGATE      NOATTRIBUTES   CHARSET(60,EBCDIC)
COMPILE        NOCOUNT        FLAG(I)
GOSTMT         NODECK         LINECOUNT(60)
INSOURCE       NOESD          MARGINI('|')
LMESSAGE       NOFLOW         MARGINS(2,72,0)
NEST           NOGONUMBER     OPTIMIZE(TIME)
OBJECT         NOIMPRECISE    SEQUENCE(73,80)
OPTIONS        NOINCLUDE      SIZE(645784)
SOURCE         NOINTERRUPT    NOSYNTAX(S)
STMT           NOLIST         TERMINAL(NOAGGREGATE,
STORAGE        NOMACRO                 NOATTRIBUTES,
               NOMAP                   NOESD,
               NOMDECK                 NOINSOURCE,
               NONUMBER                NOLIST,
               NOOFFSET                NOMAP,
               NOXREF                  NOOFFSET,
                                       NOOPTIONS,
                                       NOSOURCE,
                                       NOSTORAGE,
                                       NOXREF)
PL/I OPTIMIZING COMPILER           MARCDO: PROCEDURE OPTIONS (MAIN);           
                                PAGE   2
                    SOURCE LISTING
    STMT LEV NT

       1      0  |  MARCDO: PROCEDURE OPTIONS (MAIN);                          
         |2CM00010
                 |    /*THIS PROGRAM READS A LIBRARY INSTRUCTION DECKLET, PRINTS
         |2CM00020
                 |      IT OUT FROM THE STRUCTURE WHERE IT HAS BEEN STORED, AND
         |2CM00030
                 |      PRINTS OUT THE RECORD DIRECTORY*/                      
         |2CM00040
                 |                                                             
         |2CM00050
       2   1  0  |    DECLARE                                                  
         |2CM00060
                 |      1 DECKLET,                                             
         |2CM00070

                 |       2 CARDLET,   /*SET OF MARC SPECS*/                    
         |2CM00080
                 |        3 TAG CHAR(3),                                       
         |2CM00090
                 |        3 SIZE CHAR(1),                                      
         |2CM00100
                 |        3 SUBF CHAR(16) VARYING,                             
         |2CM00110
                 |      EOF BIT(1) INIT('0'B),                                 
         |2CM00120
                 |      RECS FILE RECORD SEQUENTIAL, /*FILE CONTAINING DECKLETS*
/        |2CM00130
                 |      (SYSIN, SYSPRINT) FILE STREAM,                         
         |2CM00140
                 |      SUBSTR BUILTIN,                                        
         |2CM00150
                 |       INDEX BUILTIN,                                        
         |2CM00160
                 |       UNSPEC BUILTIN,                                       

         |2CM00170
                 |       (DELIM,FT,RT) CHAR(1),                                
         |2CM00180
                 |      MARC FILE RECORD SEQUENTIAL;                           
         |2CM00190

                 |                                                             

         |2CM00200
       3   1  0  |    CALL DECKIT; /*ROUTINE TO READ IN AND PRINT OUT DECKLET*/
         |2CM00210
       4   1  0  |     CALL SPECSYM;/*ROUTINE TO ESTABLISH SPECIAL MARC SYMBOLS*
/        |2CM00220
       5   1  0  |     CALL MARCDIR; /*ROUTINE TO USE EXTRACTED RECORD DIRECTORY
         |2CM00230
                 |                   TO PRINT FIELDS*/                         
         |2CM00240
       6   1  0  |    RETURN; /*RETURN CONTROL TO CMS*/                        
         |2CM00250
                 |                                                             
         |2CM00260

       7   1  0  |   DECKIT: PROCEDURE;                                        
         |2CM00270
                 |    /*THIS ROUTINE READS THE INFORMATION FROM THE DECKLET INTO
         |2CM00280
                 |      A STRUCTURE AND THEN PRINTS IT OUT*/                   
         |2CM00290
       8   2  0  |    ON ENDFILE (SYSIN) EOF = '1'B;                           
         |2CM00300
       9   2  0  |    OPEN FILE (RECS) OUTPUT;                                 
         |2CM00310
                 |                                                             
         |2CM00320
      10   2  0  |    DO WHILE (↑EOF);                                         
         |2CM00330
      11   2  1  |       GET SKIP EDIT (DECKLET.CARDLET) (A(3),A(1),A(16));    
         |2CM00340
      12   2  1  |      IF EOF THEN LEAVE;                                     
         |2CM00350
      13   2  1  |       WRITE FILE (RECS) FROM (DECKLET); /*CREATE RECORD*/   
         |2CM00360
      14   2  1  |    END;                                                     
         |2CM00370
                 |                                                             
         |2CM00380
      15   2  0  |    CLOSE FILE (RECS);                                       
         |2CM00390
                 |                                                             
         |2CM00400
      16   2  0  |    EOF = '0'B; /*RESET END FLAG*/                           
         |2CM00410
      17   2  0  |    ON ENDFILE (RECS) EOF = '1'B;                            
         |2CM00420
      18   2  0  |    OPEN FILE (RECS) INPUT; /*OPEN FILE OF SPECS FOR INPUT*/ 
         |2CM00430
      19   2  0  |    DO WHILE (↑EOF);                                         
         |2CM00440
      20   2  1  |       READ FILE (RECS) INTO (DECKLET.CARDLET);              
         |2CM00450
      21   2  1  |      IF EOF THEN LEAVE;                                     
         |2CM00460
      22   2  1  |      PUT SKIP EDIT (DECKLET.CARDLET) (A);                   
         |2CM00470
      23   2  1  |    END;                                                     
         |2CM00480
      24   2  0  |    CLOSE FILE (RECS);                                       
         |2CM00490
      25   2  0  |    RETURN; /*RETURN TO MAIN PROGRAM*/                       
         |2CM00500
      26   2  0  |   END DECKIT;                                               
         |2CM00510
PL/I OPTIMIZING COMPILER           MARCDO: PROCEDURE OPTIONS (MAIN);           
                                PAGE   3
    STMT LEV NT
                 |                                                             
         |2CM00520
      27   1  0  |    MARCDIR: PROCEDURE;                                      
         |2CM00530
                 |     /*THIS ROUTINE EXTRACTS AND PRINTS OUT THE MARC RECORD  
         |2CM00540
                 |       DIRECTORY AND SUBFIELDS INDICATED BY DECKLET*/        
         |2CM00550
                 |                                                             
         |2CM00560
      28   2  0  |     DECLARE                                                 
         |2CM00570
                 |       1 DECKLET,                                            
         |2CM00580
                 |        2 CARDLET,   /*SET OF MARC SPECS*/                   
         |2CM00590
                 |         3 TAG CHAR(3),                                      
         |2CM00600
                 |         3 SIZE CHAR(1),                                     
         |2CM00610
                 |         3 SUBF CHAR(16) VARYING,                            
         |2CM00620
                 |       (I,J,K,L) FIXED BIN (15),                             
         |2CM00630
                 |       AREA CHAR(2000) VARYING,                              
         |2CM00640
                 |       FIELD(50) CHAR(12),                                   
         |2CM00650
                 |       LENG FIXED BIN(15),                                   
         |2CM00660
                 |       START FIXED BIN(15),                                  
         |2CM00670
                 |       DIR CHAR(500) VARYING; /*EXTRACTED DIRECTORY*/        
         |2CM00680
      29   2  0  |     OPEN FILE (MARC) INPUT; /*OPEN THE FILE OF MARC RECS FOR
INPUT*/  |2CM00690
      30   2  0  |     EOF = '0'B;                                             
         |2CM00700
                 |                                                             
         |2CM00710
      31   2  0  |      DO I = 1 TO 2;/*TRY THIS TWICE*/                       
         |2CM00720
      32   2  1  |        PUT SKIP(3) EDIT ('RECORD NUMBER ',I) (A,F(1));      
         |2CM00730
      33   2  1  |        PUT SKIP(2) EDIT ('TAG','SUBFIELD','CONTENTS') (A(3),X
(10),    |2CM00740
                 |                          A(8),X(10),A(8));                  
         |2CM00750

      34   2  1  |       PUT SKIP;                                             
         |2CM00760
      35   2  1  |       READ FILE (MARC) INTO (AREA);                         
         |2CM00770
      36   2  1  |       J = SUBSTR(AREA, 13, 5); /*GET STARTING POS. OF CONTROL
         |2CM00780
                 |                                  FIELDS*/                   
         |2CM00790
      37   2  1  |       DIR = SUBSTR(AREA, 25, J-25); /*EXTRACT DIRECTORY*/   
         |2CM00800
      38   2  1  |       L = 1;                                                
         |2CM00810
      39   2  1  |       CHOP: /*DIVIDE INTO BLOCKS*/                          
         |2CM00820
                 |         DO K = 1 TO (J-25)/12;                              

         |2CM00830
      40   2  2  |         FIELD(K) = SUBSTR(DIR,L,12);/*START FILLING ARRAY   
         |2CM00840
                 |                    WITH FIELDS*/                            
         |2CM00850
      41   2  2  |         L = L + 12; /*SKIP TO NEXT 12 CHARACTERS*/          
         |2CM00860
      42   2  2  |       END CHOP;                                             
         |2CM00870
      43   2  1  |       CALL FLDPRT (FIELD,DECKLET,K,J,AREA,DELIM,FT,RT);     

         |2CM00880
      44   2  1  |      END;                                                   
         |2CM00890
      45   2  0  |      CLOSE FILE (MARC);                                     
         |2CM00900
      46   2  0  |     RETURN;/*RETURN TO MAIN PROGRAM*/                       
         |2CM00910
      47   2  0  |     END MARCDIR;                                            
         |2CM00920
                 |                                                             
         |2CM00930
                 |       /*SUBROUTINE TO CREATE THE SPECIAL SYMBOLS MARKING    
         |2CM00940

                 |       DELIMITER, FIELD TERMINATOR, AND RECORD TERMINATOR*/  
         |2CM00950
                 |                                                             
         |2CM00960
      48   1  0  |       SPECSYM: PROCEDURE;                                   
         |2CM00970
      49   2  0  |         DCL                                                 
         |2CM00980
                 |           UNSPEC BUILTIN,                                   
         |2CM00990
                 |           (TDEL,TFT,TRT) FIXED BIN(8);                      
         |2CM01000
                 |                                                             
         |2CM01010
                 |         /*SET UP CONSTANTS*/                                
         |2CM01020
      50   2  0  |         TDEL = 250;/*HEX FA*/                               
         |2CM01030
      51   2  0  |         TFT = 38;/*HEX 26*/                                 
         |2CM01040
      52   2  0  |         TRT = 55;/*HEX 37*/                                 
         |2CM01050
PL/I OPTIMIZING COMPILER           MARCDO: PROCEDURE OPTIONS (MAIN);           
                                PAGE   4
    STMT LEV NT
                 |                                                             
         |2CM01060
                 |         /*MOVE BINARY VALUES INTO CHAR STRING*/             
         |2CM01070
      53   2  0  |         UNSPEC(DELIM) = TDEL;                               
         |2CM01080
      54   2  0  |         UNSPEC(RT) = TRT;                                   
         |2CM01090

      55   2  0  |         UNSPEC(FT) = TFT;                                   
         |2CM01100
                 |                                                             
         |2CM01110
      56   2  0  |         RETURN;                                             
         |2CM01120
      57   2  0  |       END SPECSYM;                                          
         |2CM01130
                 |                                                             
         |2CM01140
                 |        /*SUBROUTINE TO PRINT OUT FIELDS LISTED IN DECKLET*/ 
         |2CM01150
      58   1  0  |        FLDPRT: PROCEDURE (FIELD,DECKLET,K,J,AREA,DELIM,FT,RT)
;        |2CM01160
      59   2  0  |          DECLARE                                            
         |2CM01170
                 |           1 DECKLET CONNECTED,                              
         |2CM01180
                 |            2 CARDLET,   /*SET OF MARC SPECS*/               
         |2CM01190
                 |             3 TAG CHAR(3),                                  
         |2CM01200
                 |             3 SIZE CHAR(1),                                 
         |2CM01210
                 |             3 SUBF CHAR(16) VARYING,                        
         |2CM01220
                 |           FIELD(*) CHAR(12),                                
         |2CM01230
                 |           K FIXED BIN(15),                                  
         |2CM01240
                 |           J FIXED BIN(15),                                  
         |2CM01250
                 |            START FIXED BIN(15),                             
         |2CM01260
                 |            LENG FIXED BIN(15),                              
         |2CM01270
                 |            AREA CHAR(2000) VARYING,                         
         |2CM01280
                 |             DELIM CHAR(1),/*SPECIAL CHARACTER*/             
         |2CM01290
                 |             FT CHAR(1),/*FIELD TERMINATOR*/                 
         |2CM01300
                 |             RT CHAR(1),/*RECORD TERMINATOR*/                
         |2CM01310
                 |             DELIM1 FIXED BIN(15),/*POS. OF FIRST DELIM*/    
         |2CM01320
                 |             DELIM2 FIXED BIN(15),/*POS. OF 2ND DELIM*/      
         |2CM01330
                 |             CONTROLS CHAR(200) VARYING,/*CONTROL FIELD*/    
         |2CM01340
                 |             REMAINDER CHAR(200) VARYING,                    
         |2CM01350
                 |             P FIXED BIN(15),                                
         |2CM01360
                 |            N FIXED BIN(15);                                 
         |2CM01370
                 |                                                             
         |2CM01380
      60   2  0  |            EOF = '0'B;                                      
         |2CM01390
      61   2  0  |          ON ENDFILE (RECS) EOF = '1'B;                      
         |2CM01400
      62   2  0  |          OPEN FILE (RECS) INPUT;                            
         |2CM01410
                 |                                                             
         |2CM01420
      63   2  0  |          DO WHILE (↑EOF);                                   
         |2CM01430
      64   2  1  |           READ FILE (RECS) INTO (DECKLET.CARDLET);          
         |2CM01440
      65   2  1  |           IF EOF THEN LEAVE;                                
         |2CM01450
      66   2  1  |              DO N = 1 TO (K - 1);                           
         |2CM01460
      67   2  2  |                  IF (TAG = SUBSTR(FIELD(N),1,3)) THEN       
         |2CM01470
                 |                    DO;                                      
         |2CM01480
      68   2  3  |                       START =CM01490
      69   2  3  |                       LENG = SUBSTR(FIELD(N),4,4);          
         |2CM01500
      70   2  3  |                      DO P = 1 TO SIZE;                      
         |2CM01510
      71   2  4  |                       CONTROLS = SUBSTR(AREA,START,LENG);   
         |2CM01520
      72   2  4  |                       DELIM1 = INDEX(CONTROLS,DELIM);       
         |2CM01530
      73   2  4  |                         DO WHILE (INDEX(CONTROLS,DELIM) ↑= 0)
;        |2CM01540
      74   2  5  |                           REMAINDER = SUBSTR(CONTROLS,(DELIM1
 + 1));  |2CM01550
      75   2  5  |                            IF (INDEX(REMAINDER,DELIM) = 0) TH
EN       |2CM01560
                 |                             DO;                             
         |2CM01570
      76   2  6  |                              IF (INDEX(REMAINDER,FT) ↑= 0) TH
EN       |2CM01580
                 |                               DELIM2 = INDEX(REMAINDER,FT); 
         |2CM01590
PL/I OPTIMIZING COMPILER  (MAIN);           
                                PAGE   5
    STMT LEV NT
      77   2  6  |                                ELSE DELIM2 = INDEX(REMAINDER,
RT);     |2CM01600
      78   2  6  |                               END;                          
         |2CM01610
      79   2  5  |                              ELSE DELIM2 = INDEX(REMAINDER,DE
LIM);    |2CM01620
      80   2  5  |                           IF SUBSTR(SUBF,P,1) = SUBSTR(CONTRO
LS,      |2CM01630

                 |                              (DELIM1 + 1),1) THEN           
         |2CM01640
                 |                              PUT SKIP EDIT (TAG,SUBSTR(SUBF,P
,1),     |2CM01650
                 |                                    SUBSTR(CONTROLS,         
         |2CM01660
                 |                                   (DELIM1 + 2),(DELIM2 - 1)))
 (A(3),  |2CM01670
                 |                                    X(13),A(1),X(14),A);     
         |2CM01680
      81   2  5  |                           DELIM1 = DELIM2;                  
         |2CM01690
      82   2  5  |                            CONTROLS = REMAINDER;            
         |2CM01700
      83   2  5  |                          END;                               
         |2CM01710
      84   2  4  |                      END;                                   
         |2CM01720
      85   2  3  |                    END;                                     
         |2CM01730
      86   2  2  |                 END;                                        
         |2CM01740
      87   2  1  |           END;                                              
         |2CM01750
      88   2  0  |         CLOSE FILE (RECS);                                  
         |2CM01760
      89   2  0  |       RETURN;                                               
         |2CM01770
      90   2  0  |       END FLDPRT;                                           
         |2CM01780
      91   1  0  |   END MARCDO;                                               
         |2CM01790
PL/I OPTIMIZING COMPILER           MARCDO: PROCEDURE OPTIONS (MAIN);           
                                PAGE   6
                                       AGGREGATE LENGTH TABLE
DCL NO.   IDENTIFIER                          LVL     DIMS      OFFSET  ELEMENT
   TOTAL
                                                                         LENGTH.
    LENGTH.

2         DECKLET                               1                             22
         22
          CARDLET                               2                             22
         22
          TAG                                   3                              3
          SIZE                                  3                    3         1
          SUBF                                  3                    4        18
28        DECKLET                               1                             22
         22
          CARDLET                               2                             22
         22
          TAG                                   3                              3
          SIZE                                  3                    3         1
          SUBF                                  3                    4        18
59        DECKLET                               1                          PARAM

      PARAM
          CARDLET                               2                          PARAM
      PARAM
          TAG                                   3                          PARAM

          SIZE                                  3                    3     PARAM
          SUBF                                  3                    4     PARAM
28        FIELD                                          1                    12
        600
59        FIELD                                          1                    12
      PARAM
                                                           SUM OF CONSTANT LENGT
HS      644
PL/I OPTIMIZING COMPILER           MARCDO: PROCEDURE OPTIONS (MAIN);           
                                PAGE   7
                    STORAGE REQUIREMENTS
BLOCK, SECTION OR STATEMENT     TYPE                  LENGTH   (HEX)    DSA SIZE
   (HEX)
*MARCDO1                        PROGRAM CSECT           3668     E54
*MARCDO2                        STATIC CSECT            1484     5CC
MARCDO                          PROCEDURE BLOCK          230      E6         304
     130
DECKIT                          PROCEDURE BLOCK          622     26E         328
     148

8                               ON UNIT                  124      7C         232
      E8
17                              ON UNIT                  124      7C         232
      E8
MARCDIR                         PROCEDURE BLOCK          836     344        3512
     DB8
SPECSYM                         PROCEDURE BLOCK          162      A2         232
      E8
FLDPRT                          PROCEDURE BLOCK         1440     5A0         880
     370
61                              ON UNIT                  124      7C         232
      E8
PL/I OPTIMIZING COMPILER           MARCDO: PROCEDURE OPTIONS (MAIN);           
                                PAGE   8
COMPILER DIAGNOSTIC MESSAGES
ERROR ID L   STMT    MESSAGE DESCRIPTION

WARNING DIAGNOSTIC MESSAGES

IEL0916I W   1       ITEM(S) 'DECKLET.CARDLET.SIZE','DECKLET.CARDLET.SUBF','DECK
LET.CARDLET.TAG' MAY BE UNINITIALIZED
                     WHEN USED IN THIS BLOCK.
IEL0916I W   27      ITEM(S) 'DECKLET.CARDLET.SUBF','FIELD','DECKLET.CARDLET.SIZ
E','DECKLET.CARDLET.TAG' MAY BE
                     UNINITIALIZED WHEN USED IN THIS BLOCK.

COMPILER INFORMATORY MESSAGES

IEL0541I I   1, 7, 8, 17, 27, 48, 58, 61    'ORDER' OPTION APPLIES TO THIS BLOCK
.    OPTIMIZATION MAY BE INHIBITED.

IEL0906I I   36, 68, 69, 70    DATA CONVERSION WILL BE DONE BY SUBROUTINE CALL.

END OF COMPILER DIAGNOSTIC MESSAGES
COMPILE TIME    0.05 MINS        SPILL FILE:     0 RECORDS, SIZE  3491


R; T=0.32/1.46 23:21:26

.λ
MARCDO

R; T=0.01/0.03 22:57:23

LOAD 2CMS2C (START

DMSLIO740I EXECUTION BEGINS...


1002ad              
2408aklmnopr        
2453abc             
2603abc             
3003abc             
6004adtx            
6505abxyz           
7006adlpst          


RECORD NUMBER 1

TAG          SUBFIELD          CONTENTS

100             a              Maisel, Edward.
245             a              Tai chi for health.
260             a              New York,
260             b              Holt, Rinehart and Winston
260             c              1972
300             a              xi, 212 p.
300             b              illus.
300             c              24 cm.
650             a              Exercise.


RECORD NUMBER 2
 
TAG          SUBFIELD          CONTENTS

100             a              Hogg, Beth (Tootill)
100             d              1917-
245             a              The noise of drums and trumpets: W. H. Russell re
ports from the Crimea
245             c              by  Elizabeth Grey.
260             a              New York,
260             b              H. Z. Walck
260             c              1972, c1971
300             a              255 p.
300             b              illus.
300             c              22 cm.
600             a              Russell, William Howard,
600             d              1820-1907.
650             a              Crimean War, 1853-1856.
700             a              Russell, William Howard,
700             d              1820-1907.
R; T=1.51/3.10 22:59:42


.λ
.λ

CMS

.λ

PL/I OPTIMIZER V1 R3.0 PTF 69 TIME: 22.56.00  DATE: 16 MAR 82
OPTIONS SPECIFIED
OP OPT(2) F(I) S AG C GS MI('|') IS LC(60) NEST STMT NNUM LMSG STG;

COMPILER DIAGNOSTIC MESSAGES
ERROR ID L   STMT    MESSAGE DESCRIPTION

WARNING DIAGNOSTIC MESSAGES
IEL0916I W   1       ITEM(S) 'DECKLET.CARDLET.SIZE','DECKLET.CARDLET.SUBF','DECK
LET.CARDLET.TAG' MAY BE UNINITIALIZED
                     WHEN USED IN THIS BLOCK.
IEL0916I W   27      ITEM(S) 'DECKLET.CARDLET.SUBF','FIELD','DECKLET.CARDLET.SIZ
E','DECKLET.CARDLET.TAG' MAY BE
                     UNINITIALIZED WHEN USED IN THIS BLOCK.

COMPILER INFORMATORY MESSAGES

IEL0541I I   1, 7, 8, 17, 27, 48, 58, 61    'ORDER' OPTION APPLIES TO THIS BLOCK
.    OPTIMIZATION MAY BE INHIBITED.
IEL0906I I   36, 68, 69, 70    DATA CONVERSION WILL BE DONE BY SUBROUTINE CALL.
END OF COMPILER DIAGNOSTIC MESSAGES
COMPILE TIME    0.05 MINS        SPILL FILE:     0 RECORDS, SIZE  3491
R; T=3.19/3.99 22:56:52

.λ





DMSLIO740I EXECUTION BEGINS...

DECKLET.CARDLET.SUBF='ad              ';
1002ad                  DECKLET.CARDLET.SUBF='aklmnopr        ';
2408aklmnopr            DECKLET.CARDLET.SUBF='abc             ';
2453abc                 DECKLET.CARDLET.SUBF='abc             ';
2603abc                 DECKLET.CARDLET.SUBF='abc             ';
3003abc                 DECKLET.CARDLET.SUBF='adtx            ';
6004adtx                DECKLET.CARDLET.SUBF='abxyz           ';
6505abxyz               DECKLET.CARDLET.SUBF='adlpst          ';
7006adlpst              DECKLET.CARDLET.SUBF='adlpst          ';


RECORD NUMBER 1

TAG          SUBFIELD          CONTENTS
CONTROLS='10aMaisel, Edward.↔';                FOO=       20;          DELIM1=        0;       CONTROLS='10aMaisel, Edward.↔';
FOO=       20;          DELIM1=        0;       CONTROLS='10aTai chi for health.↔';            FOO=       24;
DELIM1=        0;       CONTROLS='10aTai chi for health.↔';            FOO=       24;          DELIM1=        0;
CONTROLS='10aTai chi for health.↔';            FOO=       24;          DELIM1=        0;
CONTROLS='0 aNew York,bHolt, Rinehart and Winstonc1972~↔';          FOO=       50;          DELIM1=        0;
CONTROLS='0 aNew York,bHolt, Rinehart and Winstonc1972~↔';          FOO=       50;          DELIM1=        0;
CONTROLS='0 aNew York,bHolt, Rinehart and Winstonc1972~↔';          FOO=       50;          DELIM1=        0;
CONTROLS='  axi, 212 p.billus.c24 cm.↔';     FOO=       31;          DELIM1=        0;
CONTROLS='  axi, 212 p.billus.c24 cm.↔';     FOO=       31;          DELIM1=        0;
CONTROLS='  axi, 212 p.billus.c24 cm.↔';     FOO=       31;          DELIM1=        0;       CONTROLS=' 0aExercise.∧';
FOO=       14;          DELIM1=        0;       CONTROLS=' 0aExercise.∧';                      FOO=       14;
DELIM1=        0;       CONTROLS=' 0aExercise.∧';                      FOO=       14;          DELIM1=        0;
CONTROLS=' 0aExercise.∧';                      FOO=       14;          DELIM1=        0;       CONTROLS=' 0aExercise.∧';
FOO=       14;          DELIM1=        0;


RECORD NUMBER 2

TAG          SUBFIELD          CONTENTS
CONTROLS='10aHogg, Beth (Tootill)d1917-↔';    FOO=       32;          DELIM1=        0;
CONTROLS='10aHogg, Beth (Tootill)d1917-↔';    FOO=       32;          DELIM1=        0;
CONTROLS='14aThe noise of drums and trumpets: W. H. Russell reports from the Cr
imeacby~ Elizabeth Grey.
FOO=       97;          DELIM1=        0;
CONTROLS='14aThe noise of drums and trumpets: W. H. Russell reports from the Cr
imeacby~ Elizabeth Grey.
FOO=       97;          DELIM1=        0;
CONTROLS='14aThe noise of drums and trumpets: W. H. Russell reports from the Cr
imeacby~ Elizabeth Grey.
FOO=       97;          DELIM1=        0;       CONTROLS='0 aNew York,bH. Z. Walckc1972, c1971~↔';
FOO=       42;          DELIM1=        0;       CONTROLS='0 aNew York,bH. Z. Walckc1972, c1971~↔';
FOO=       42;          DELIM1=        0;       CONTROLS='0 aNew York,bH. Z. Walckc1972, c1971~↔';
FOO=       42;          DELIM1=        0;       CONTROLS='  a255 p.billus.c22 cm.↔';         FOO=       27;
DELIM1=        0;       CONTROLS='  a255 p.billus.c22 cm.↔';         FOO=       27;          DELIM1=        0;
CONTROLS='  a255 p.billus.c22 cm.↔';         FOO=       27;          DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.↔';             FOO=       47;          DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.↔';             FOO=       47;          DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.↔';             FOO=       47;          DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.↔';             FOO=       47;          DELIM1=        0;
CONTROLS=' 0aCrimean War, 1853-1856.↔';        FOO=       28;          DELIM1=        0;
CONTROLS=' 0aCrimean War, 1853-1856.↔';        FOO=       28;          DELIM1=        0;
CONTROLS=' 0aCrimean War, 1853-1856.↔';        FOO=       28;          DELIM1=        0;
CONTROLS=' 0aCrimean War, 1853-1856.↔';        FOO=       28;          DELIM1=        0;
CONTROLS=' 0aCrimean War, 1853-1856.↔';        FOO=       28;          DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.∧';             FOO=       47;          DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.∧';             FOO=       47;          DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.∧';             FOO=       47;          DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.∧';             FOO=       47;          DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.∧';             FOO=       47;          DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.∧';             FOO=       47;          DELIM1=        0;
R; T=1.73/3.80 01:13:57


.λ

DMSLIO740I EXECUTION BEGINS...

1002ad              
2408aklmnopr        
2453abc             
2603abc             
3003abc             
6004adtx            
6505abxyz           
7006adlpst          


RECORD NUMBER 1

TAG          SUBFIELD          CONTENTS
DELIM1=        0;       DELIM1=        0;       DELIM1=        0;       DELIM1=        0;       DELIM1=        0;
DELIM1=        0;       DELIM1=        0;       DELIM1=        0;       DELIM1=        0;       DELIM1=        0;
DELIM1=        0;       DELIM1=        0;       DELIM1=        0;       DELIM1=        0;       DELIM1=        0;
DELIM1=        0;


RECORD NUMBER 2

TAG          SUBFIELD          CONTENTS
DELIM1=        0;       DELIM1=        0;       DELIM1=        0;       DELIM1=        0;       DELIM1=        0;
DELIM1=        0;       DELIM1=        0;       DELIM1=        0;       DELIM1=        0;       DELIM1=        0;
DELIM1=        0;       DELIM1=        0;       DELIM1= 


DMSLIO740I EXECUTION BEGINS...

1002ad              
2408aklmnopr        
2453abc             

2603abc             
3003abc             

6004adtx            
6505abxyz           
7006adlpst          


RECORD NUMBER 1

TAG          SUBFIELD          CONTENTS
DELIM1=        3;
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
100             a              
DMSLIO740I EXECUTION BEGINS...


          1         2         3         4         5         6
008200120009010000200010224500240012225000140014626000500016030000310 
0210350001000241500005900251650001400310#   72188900 #720804s1972    n 
yua          00000 eng  #  $a0030014166#0 $aRA781$b.M34 1972#  $a613.7 
/1#10$aMaisel, Edward.#10$aTai chi for health.#  $aNew ed.~#0 $aNew Y 
ork,$bHolt, Rinehart and Winston$c1972~#  $axi, 212 p.$billus.$c24 cm 
.#  $a$6.95#  $a"The three classic writings on tai chi": p. 201~-212. 
# 0$aExercise.@ 

          1         2         3         4         5         6
0123456789012345678901234567890123456789012345678901234567890123456789
00676nam  2200205   45000010013000000080041000130200015000540430012000 
6905000210008108200120010210000320011424500970014626000420024330000270 
0285350001000312504002700322650002800349600004700377700004700424#   72 
188901 #720929c19721971nyua     b    00110 eng  #  $a0809831015#  $ae- 
ur-un#0 $aDK215$b.H64 1972#  $a947/.07#10$aHogg, Beth (Tootill)$d1917- 
#14$aThe noise of drums and trumpets: W. H. Russell reports from the C 
rimea$cby~ Elizabeth Grey.#0 $aNew York,$bH. Z. Walck$c1972, c1971~# 
  $a255 p.$billus.$c22 cm.#  $a$6.95#  $aBibliography: p. 247~# 0$aCr 
imean War, 1853-1856.#10$aRussell, William Howard,$cSir,$d1820-1907.#1 
0$aRussell, William Howard,$cSir,$d1820-1907.@ 

          1         2         3         4         5         6
0123456789012345678901234567890123456789012345678901234567890123456789
00579nam  2200181   450000100130000000800410001302000
5/08#10$aVenables, Francis Isaac,$ecomp.#14$aThe early Augustans.$cEdi 
ted with an introd. and notes by Francis Venables.#0 $aNew York,$bBarn 
es & Noble$c1972~#  $axv, 188 p.$bport.$c20 cm.#  $a$5.50#0 $aThe Poe 
try bookshelf#  $aIncludes bibliographical references.# 0$aEnglish poe 
try$y18th century.@6.#10$aRussell, William Howard,$cSir,$d1820-1907.#1 

          1         2         3         4         5         6
0123456789012345678901234567890123456789012345678901234567890123456789
00628nam  2200181   45000010013000000080041000130500028000540820023000 
8210000330010524500700013826000600020830000310026844000420029950000170 
0341504002900358650004000387650002000427#   72188903 #720804s1972    d 
cua     b    00010 eng  #0 $aL11$b.W64 no. 7$aLB3051#  $a370/.78 s$a37 
1.2/7#10$aRothney, John Watson Murray.#10$aEvaluating and reporting pu 
pil progress$cby~ John W. M. Rothney.#0 $aWashington~$bAssociation o 
f Classroom Teachers$c1972~#  $a32, 1~ p.$billus.$c22 cm.# 0$aWhat r 
esearch says to the teacher,$v7#  $aCover title.#  $aBibliography: p.  
32-33~# 0$aEducational tests and measurements.# 0$aSchool reports.@#1 

          1         2         3         4         5         6
0123456789012345678901234567890123456789012345678901234567890123456789
00479nam  2200157   45000010013000000080041000130430012000540500014000 
6608200180008010000280009824500450012626000550017130000310022650400260 
0257651003900283#   72188904 #720804s1972    utub     br   00000 eng   
#  $an-us-tn#0 $aF435$b.H3#  $a929/.3/025768#10$aHathaway, Beverly Wes 
t.#10$aGenealogy research sources in Tennessee.#0 $aWest Jordan, Utah, 
$bAllstates Research Co.,$c1972.#  $aiii, 107 p.$bmaps.$c28 cm.#  $aBi 
bliography: p. 107.# 0$aTennessee$xGenealogy$xDirectories.@# 0$aWhat r 
R; T=0.86/2.01 00:26:23

.λ
DMSLIO740I EXECUTION BEGINS...

100      2ad              
240      8aklmnopr        

245      3abc             
260      3abc             
300      3abc             
600      4adtx            
650      5abxyz           
700      6adlpst          


RECORD NUMBER 1

TAG          SUBFIELD          CONTENTS
CONTROLS='10aMaisel, Edward.↔';                DELIM1=        0;       CONTROLS='10aMaisel, Edward.↔';
DELIM1=        0;       CONTROLS='10aTai chi for health.↔';            DELIM1=        0;
CONTROLS='10aTai chi for health.↔';            DELIM1=        0;       CONTROLS='10aTai chi for health.↔';
DELIM1=        0;       CONTROLS='0 aNew York,bHolt, Rinehart and Winstonc1972~↔';          DELIM1=        0;
CONTROLS='0 aNew York,bHolt, Rinehart and Winstonc1972~↔';          DELIM1=        0;
CONTROLS='0 aNew York,bHolt, Rinehart and Winstonc1972~↔';          DELIM1=        0;
CONTROLS='  axi, 212 p.billus.c24 cm.↔';     DELIM1=        0;       CONTROLS='  axi, 212 p.billus.c24 cm.↔';
DELIM1=        0;       CONTROLS='  axi, 212 p.billus.c24 cm.↔';     DELIM1=        0;       CONTROLS=' 0aExercise.∧';
DELIM1=        0;       CONTROLS=' 0aExercise.∧';                      DELIM1=        0;       CONTROLS=' 0aExercise.∧';
DELIM1=        0;       CONTROLS=' 0aExercise.∧';                      DELIM1=        0;       CONTROLS=' 0aExercise.∧';
DELIM1=        0;


RECORD NUMBER 2

TAG          SUBFIELD          CONTENTS
CONTROLS='10aHogg, Beth (Tootill)d1917-↔';    DELIM1=        0;       CONTROLS='10aHogg, Beth (Tootill)d1917-↔';
DELIM1=        0;
CONTROLS='14aThe noise of drums and trumpets: W. H. Russell reports from the Cr
imeacby~ Elizabeth Grey.

DMSLIO740I EXECUTION BEGINS...

1002ad              
2408aklmnopr        
2453abc             
2603abc             
3003abc             
6004adtx            
6505abxyz           
7006adlpst          


RECORD NUMBER 1


TAG          SUBFIELD          CONTENTS
CONTROLS='10aMaisel, Edward.↔';                DELIM1=        0;       CONTROLS='10aMaisel, Edward.↔';
DELIM1=        0;       CONTROLS='10aTai chi for health.↔';            DELIM1=        0;
CONTROLS='10aTai chi for health.↔';            DELIM1=        0;       CONTROLS='10aTai chi for health.↔';
DELIM1=        0;       CONTROLS='0 aNew York,bHolt, Rinehart and Winstonc1972~↔';          DELIM1=        0;
CONTROLS='0 aNew York,bHolt, Rinehart and Winstonc1972~↔';          DELIM1=        0;
CONTROLS='0 aNew York,bHolt, Rinehart and Winstonc1972~↔';          DELIM1=        0;
CONTROLS='  axi, 212 p.billus.c24 cm.↔';     DELIM1=        0;       CONTROLS='  axi, 212 p.billus.c24 cm.↔';
DELIM1=        0;       CONTROLS='  axi, 212 p.billus.c24 cm.↔';     DELIM1=        0;       CONTROLS=' 0aExercise.∧';
DELIM1=        0;       CONTROLS=' 0aExercise.∧';                      DELIM1=        0;       CONTROLS=' 0aExercise.∧';
DELIM1=        0;       CONTROLS=' 0aExercise.∧';                      DELIM1=        0;       CONTROLS=' 0aExercise.∧';
DELIM1=        0;


RECORD NUMBER 2

TAG          SUBFIELD          CONTENTS
CONTROLS='10aHogg, Beth (Tootill)d1917-↔';    DELIM1=        0;       CONTROLS='10aHogg, Beth (Tootill)d1917-↔';
DELIM1=        0;
CONTROLS='14aThe noise of drums and trumpets: W. H. Russell reports from the Cr
imeacby~ Elizabeth Grey.
DELIM1=        0;
CONTROLS='14aThe noise of drums and trumpets: W. H. Russell reports from the Cr
imeacby~ Elizabeth Grey.
DELIM1=        0;
CONTROLS='14aThe noise of drums and trumpets: W. H. Russell reports from the Cr
imeacby~ Elizabeth Grey.
DELIM1=        0;       CONTROLS='0 aNew York,bH. Z. Walckc1972, c1971~↔';                  DELIM1=        0;
CONTROLS='0 aNew York,bH. Z. Walckc1972, c1971~↔';                  DELIM1=        0;
CONTROLS='0 aNew York,bH. Z. Walckc1972, c1971~↔';                  DELIM1=        0;
CONTROLS='  a255 p.billus.c22 cm.↔';         DELIM1=        0;       CONTROLS='  a255 p.billus.c22 cm.↔';
DELIM1=        0;       CONTROLS='  a255 p.billus.c22 cm.↔';         DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.↔';             DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.↔';             DELIM1=        0;

CONTROLS='10aRussell, William Howard,cSir,d1820-1907.↔';             DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.↔';             DELIM1=        0;
CONTROLS=' 0aCrimean War, 1853-1856.↔';        DELIM1=        0;       CONTROLS=' 0aCrimean War, 1853-1856.↔';
DELIM1=        0;       CONTROLS=' 0aCrimean War, 1853-1856.↔';        DELIM1=        0;
CONTROLS=' 0aCrimean War, 1853-1856.↔';        DELIM1=        0;       CONTROLS=' 0aCrimean War, 1853-1856.↔';
DELIM1=        0;       CONTROLS='10aRussell, William Howard,cSir,d1820-1907.∧';             DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.∧';             DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.∧';             DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.∧';             DELIM1=        0;
CONTROLS='10aRussell, William Howard,cSir,d1820-1907.∧';             DELIM1=        0;
   MARCDO: PROCEDURE OPTIONS (MAIN);
     /*THIS PROGRAM READS A LIBRARY INSTRUCTION DECKLET, PRINTS
       IT OUT FROM THE STRUCTURE WHERE IT HAS BEEN STORED, AND
       PRINTS OUT THE RECORD DIRECTORY*/

     DECLARE
       1 DECKLET,

        2 CARDLET,   /*SET OF MARC SPECS*/
         3 TAG CHAR(3),
         3 SIZE FIXED BIN(8),
         3 SUBF CHAR(16) VARYING,
         3 SUBF CHAR(16) VARYING,
       RECS FILE RECORD SEQUENTIAL, /*FILE CONTAINING DECKLETS*/
       (SYSIN, SYSPRINT) FILE STREAM,
       SUBSTR BUILTIN,
        INDEX BUILTIN,
       UNSPEC BUILTIN,
       (DELIM,FT,RT) CHAR(1),
       MARC FILE RECORD SEQUENTIAL;
   
     CALL DECKIT; /*ROUTINE TO READ IN AND PRINT OUT DECKLET*/
     CALL SPECSYM;/*ROUTINE TO ESTABLISH SPECIAL MARC SYMBOLS*/
     CALL MARCDIR; /*ROUTINE TO USE EXTRACTED RECORD DIRECTORY
                   TO PRINT FIELDS*/
     RETURN; /*RETURN CONTROL TO CMS*/

    DECKIT: PROCEDURE;
     /*THIS ROUTINE READS THE INFORMATION FROM THE DECKLET INTO
       A STRUCTURE AND THEN PRINTS IT OUT*/
     ON ENDFILE (SYSIN) EOF = '1'B;
     OPEN FILE (RECS) OUTPUT;

     DO WHILE (↑EOF);
        GET SKIP EDIT (DECKLET.CARDLET) (A(3),A(1),A(16));
       IF EOF THEN LEAVE;
        WRITE FILE (RECS) FROM (DECKLET); /*CREATE RECORD*/
     END;

     CLOSE FILE (RECS);

     EOF = '0'B; /*RESET END FLAG*/
     ON ENDFILE (RECS) EOF = '1'B;
     OPEN FILE (RECS) INPUT; /*OPEN FILE OF SPECS FOR INPUT*/
     DO WHILE (↑EOF);
        READ FILE (RECS) INTO (DECKLET.CARDLET);
       IF EOF THEN LEAVE;
       PUT SKIP EDIT (DECKLET.CARDLET) (A);
     END;

     CLOSE FILE (RECS);
     RETUBN; '*REPUBN TO MAIN PROGRAM*/
    EN@ DECKIT;

     MARCDIR: PROCEDURE;
      /*THIS ROUTINE EXTRACTS AND PRINTS OUT THE MARC RECORD
        DIRECTORY AND SUBFIELDS INDICATED BY DECKLET*/

      DECLARE
        1 DECKLET,
         2 CARDLET,   /*SET OF MARC SPECS*/
          3 TAG CHAR(3),
          3 SIZE FIXED BIN(8),
          3 SUBF CHAR(16) VARYING,
        (I,J,K,L) FIXED BIN (15),
        AREA CHAR(2000) VARYING,
        FIELD(50) CHAR(12),
        LENGTH FIXED BIN(15),
        START FIXED BIN(15),
        DIR CHAR(500) VARYING; /*EXTRACTED DIRECTORY*/
      OPEN FILE (MARC) INPUT; /*OPEN THE FILE OF MARC RECS FOR INPUT*/
      EOF = '0'B;

      DO I = 1 TO 2;/*TRY THIS TWICE*/
        PUT SKIP(3) EDIT ('RECORD NUMBER ',I) (A,F(1));
        PUT SKIP(2) EDIT ('TAG','SUBFIELD','CONTENTS') (A(3),X(10),
                          A(8),X(10),A(8));
        PUT SKIP;
        READ FILE (MARC) INTO (AREA);
        J = SUBSTR(AREA, 13, 5); /*GET STARTING POS. OF CONTROL
                                  FIELDS*/
        CHOP: /*DIVIDE INTO BLOCKS*/
          DO K = 1 TO (J-25)/12;

          FIELD(K) = SUBSTR(DIR,L,12);/*START FILLING ARRAY
                     WITH FIELDS*/
          L = L + 12; /*SKIP TO NEXT 12 CHARACTERS*/
        END CHOP;
        CALL FLDPRT (FIELD,DECKLET,K,PRINT,J,AREA,DELIM);
       END;
       CLOSE FILE (MARC);
      RETURN;/*RETURN TO MAIN PROGRAM*/
      END MARCDIR;

       /*SUBROUTINE TO CREATE THE SPECIAL SYMBOLS MARKING 
       DELIMITER, FIELD TERMINATOR, AND RECORD TERMINATOR*/
  
       SPECSYM: PROCEDURE;
         DCL
           UNSPEC BUILTIN,
           (TDEL,TFT,TRT) FIXED BIN(8);
  
         /*SET UP CONSTANTS*/
         TDEL = 250;/*HEX FA*/
         TFT = 38;/*HEX 26*/
         TRT = 55;/*HEX 37*/
   
         /*MOVE BINARY VALUES INTO CHAR STRING*/
         UNSPEC(DELIM) = TDEL;
         UNSPEC(RT) = TRT;
         UNSPEC(FT) = TFT;
   
         RETURN;
       END SPECSYM;
   
         /*SUBROUTINE TO PRINT OUT FIELDS LISTED IN DECKLET*/
         FLDPRT: PROCEDURE (FIELD,DECKLET,K,PRINT,J,AREA,DELIM);
           DECLARE
            1 DECKLET CONNECTED,
             2 CARDLET,   /*SET OF MARC SPECS*/
              3 TAG CHAR(3),
              3 SIZE FIXED BIN(8),
              3 SUBF CHAR(16) VARYING,
            FIELD(*) CHAR(12),
            K FIXED BIN(15),
            J FIXED BIN(15),
             START FIXED BIN(15),
             LENGTH FIXED BIN(15),
             AREA CHAR(2000) VARYING,
             DELIM CHAR(1),/*SPECIAL CHARACTER*/
             DELIM1 FIXED BIN(15),/*POS. OF FIRST DELIM*/
             DELIM2 FIXED BIN(15),/*POS. OF 2ND DELIM*/
             CONTROLS CHAR(200) VARYING,/*CONTROL FIELD*/
             REMAINDER CHAR(200) VARYING,
             P FIXED BIN(15),
             N FIXED BIN(15);
                     
           EOF = '0'B;
           ON ENDFILE (RECS) EOF = '1'B;
           OPEN FILE (RECS) INPUT;


           DO WHILE (↑EOF);
            READ FILE (RECS) INTO (DECKLET.CARDLET);
            IF EOF THEN LEAVE;
                DO N = 1 TO (K - 1);
                  IF (TAG = SUBSTR(FIELD(N),1,3)) THEN
                     DO P = 1 TO SIZE;
                       START = SUBSTR(FIELD(N),8,5) + J + 1;
                       LENGTH = SUBSTR(FIELD(N),4,4);              
                       CONTROLS = SUBSTR(AREA,START,LENGTH);
                       DELIM1 = INDEX(CONTROLS,DELAM);
                         DO WHILE (INDEX(CONTROLS,DELIM) ↑= 0);
                           REMAINDER = SUBSTR(COJTROLS,(DELAM1 + 1));
                           DELIM2 =IJDEX(REMAIJDER,DELIM);
                           IF SUBSTR(SEBF,P,1) = SUBSTR(CONTROLS,
                              (DELIM1 + 1),1) THEN¬
                              PUT SKIP EDIT (TAG,SUBF,SUBSTR(CONTROHS,
                                  (@	→%~b@VdRXQ⊃→β~H@Z@b$RR@Q∧PfBX4∀@@@@@@@@@@@@@@@@@@@@@@@@@@@A0PbLRYαPDRY0PDhRYα$v~∀@@@@@@@@@@@@@@@@@@@@@↓	β→∪4b@zA⊃→β~Hr~∀@@@@@@@@@@@@@@@@@@@@A∃≥v~(@@@@@@@@@@@@@@@@@A≥⊂v~∀@@@@@@@@@@@@@↓⊂~⊃Xh)↓↓α↓↓↓↓α↓↓α⊗t!l4)α↓↓↓↓α↓↓↓α≤b>N∃∧2&"∃αBJ⊗∞~Il4)α↓↓↓↓α↓αJ⊗%*J9lhQ↓↓↓α↓↓↓α,r⊃α~d"BJQXh)↓↓αα⊗*⊃∧jεJ∞$yl4(hP1=*∀)αNV∀)αR=¬αεNM∧2QαRzαNV
∀zVR&t))<4R↓↓↓↓α↓↓↓↓αα∩=α<B&2∃αBz⊗>2Il4)α↓↓↓↓α↓↓↓↓ααJ⊗ε"α~&2*↓"J⊗≥→%α&u"=↓"$*∞.2-!:∞ε∀"2⊗QKX4)↓α↓↓↓↓α↓↓↓↓∧J→α⊗|1αR",qα2⊗
2∃l4R↓↓↓↓α↓↓↓↓α↓↓↓↓αα∩=αr↓u↓E¬"=↓"Z↓5↓EKX4)↓α↓↓↓↓α↓↓↓↓α↓↓↓↓αα&→↓E"ε≥↓jαNV
≥"I"~L*2⊃"rI1E1~I%αRD*84(z↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓∧"=αAβi↓Eα$yαN&T)l4(z↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓αNR
∩Q↓u¬~V
N%⊃"~&,b⊃"9Jaa1UJ↓-α)αY↓ElhQ↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓αd*:≡RB↓uαN,∩NRID2&⊗2"B9%1"aQ%mα↓↓↓↓α↓↓↓↓α↓↓4R↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓α∞|rRJ>e→↓uα≥*
NR∩BεJ⊗
bNRε∃!22⊗t:R!%Xh)↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓∧"⊗2&k	↓uαLr∩⊗aD~>:R∀z2M2$*2&5KX4)↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓α∩zα↑"&d)↓"&t"⊗a"≤z:RJ|bM2∩,b&5%¬qu↓AKX4)↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓¬∩⊗6εLr∩⊗IβiαNV∃~RI"≤z:RJ|bM1"$*2&5
↓-↓EJIl4(z↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓αα&→↓DJ:∩⊗BBJ⊗6J:∩⊗∩b∩⊗2Li%↓uβ↓%αRD*84(z↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓α∩,b&5Iβiα~QXh(=↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓αα⊗2N*α∩⊗2LiI↓u∧J:∩⊗BBJ⊗6J:∩⊗∩b∩⊗2Li%l4R↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓α&→¬~V
N%⊃"NV∀12A1
I↓uα≥*
NR∩B∞>:%∩>2M`h)↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓"∩,b&5EαY↓E%c	%αRD*84(z↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓α¬*QαN\JAα⊗$JQ↓"$
≥2N,∩NRIE~V
→e↓1E%`h(=↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓αNV∃~RI"≤z:RJ|bM04R↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓D"⊗2&k	↓-↓∩I1"∩,b&5Iαi↓E%JI↓"¬C→%04R↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓¬A!EMJb¬!EJba!E"I2¬%Xh)↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓α$*2&5
↓uα∩,b&5IXh(=↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓α≤z:RJ|bM↓u¬∩⊗6εLr∩⊗IXh)↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓α⊗t!m=*$yα↑"Lb∃α2|zA)<hQ↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓α⊗t!m=*$yαAαdz>A)xh)↓↓α↓↓↓↓α↓↓↓↓α↓↓↓α,r⊃m=T"=α9∧b>>ARx4)↓α↓↓↓↓α↓↓↓α,r⊃m=Ur⊗>→∧b>>ARx4)↓α↓↓↓↓α↓↓α∞dzN∃α4J2∃↓E∩⊗∞MKX4)↓α↓↓↓↓ααJ⊗R-∩9l4R↓↓↓↓α↓↓α⊗t!α~2%αJQlhQ↓↓↓∧*:⊃αl
J∞∩{X4(4P